1. Field of the Invention
This invention pertains generally to internet protocol (IP) oriented communication networks, and more particularly to an isochronous protocol for use with IP-based networks.
2. Description of Related Art
Audio and/or video (AV) streams are often transmitted from the server to the client over any of a number of networks, such as Ethernet, wireless (IEEE 802.11, etc.) and power line communication (PLC) networks (i.e. HomePlug™). These networks are typically IP based and have a protocol stack such as shown in FIG. 1. The left portion of the figure illustrates an open systems interconnect (OSI) 7-layer model. The right portion of the figure depicts the actual protocol stack when an AV stream is communicated over Ethernet.
First, the MPEG-TS (Motion Picture Experts Group-Transport Stream) is packetized as based on RTP (Real-time transport protocol). RTCP (RTP Control Protocol) is mainly utilized for providing feedback on transmission condition. RTSP (Real-Time Streaming Protocol) is utilized by the client for sending the server a control command (i.e. stop, fast forward, and so forth). RTP and RTCP packets are packetized according to UDP (User Datagram Protocol). RTSP is packetized with TCP (Transmission Control Protocol). All the results are handled with IP (Internet Protocol). The IP packet is sent to the Ethernet MAC (Media Access Control) layer and then Ethernet Physical layer for transmission. The server performs the packetizing process. On the receiver (client) side, data is unpacketized in the reverse direction, as shown in FIG. 2.
The current IP stack for AV streaming has a number of problems, including redundancy. It should be noted that most digital broadcast programs use MPEG-TS in which the MPEG-TS packet is repeatedly wrapped with protocols such as RTP, UDP and IP. Each of these protocols has its own header and a significant level of overhead. Another drawback is that the overhead intensive packetizing is performed by the software, which is a slow process and a process whose speed depends on host processor loading. The configuration of the host bus is often another substantial issue that must be addressed. It should be appreciated that the time-critical nature of the AV stream is not fully amenable to slow execution by a software process.
Usually the AV stream is sent from one hardware block to another hardware block (i.e. memory to Ethernet interface) over the PCI bus. Although the PCI bus provides high bandwidth, bus communications must still wait while the PCI bus is busy, which leads to unpredictable delays. Accordingly, the existing IP stack mechanisms are not well-suited to the substantially isochronous nature of AV streams. Despite these drawbacks with conventional IP stacks they are often used for communicating AV streams due to their ubiquity.
In contrast to the primarily asynchronous nature of IP-based networks, IEEE 1394 network standards arose that were directed primarily toward AV applications. IEEE 1394 is capable of operating in two communication modes, asynchronous and isochronous. The non-time critical data and general data transfer is handled by the asynchronous transmissions, while time-critical data, such as AV streams and the like, are sent in an isochronous mode.
FIG. 3 depicts a block diagram of a conventional IEEE 1394 network in which asynchronous data is sent to the transaction layer first and then to the link layer, while the isochronous data is sent directly to the link layer.
FIG. 4-7 depicts the packetizing of an MPEG-TS stream for isochronous transmission. In FIG. 4, it is seen that the source packet header (4 bytes) is attached to each MPEG-TS packet of 188 bytes. The source packet header includes a 25-bit timestamp. Each packet is time-stamped with the time it arrives at the link layer, actually, at the transport interface of the IEEE 1394 hardware, and is split into several data blocks.
FIG. 5A depicts the structure of a bus packet according to the IEEE 1394 configuration. One or more data blocks are repacketized into one bus packet to fit the assigned time slot. CIP (Common Isochronous Packet) header and the isochronous packet header are attached to each bus packet, which include the minimum essential information for conveying an isochronous transmission. On the receiver side the packet is unpacketized in the reverse order, with data blocks being combined to rebuild the original MPEG-TS packet. The packet is output from the IEEE1394 hardware in response to its timestamp. It should be appreciated that the isochronous format provides less redundancy than the IP-based protocol.
FIG. 5B depicts the structure of the CIP header of a bus packet according to the IEEE 1394 configuration depicted in FIG. 5A, showing the fields SID, DBS, FN, QPC, SPH, DBC, FMT, FDF and optionally SYT.
FIG. 5C depicts the structure of a source packet header of a bus packet according to the IEEE 1394 configuration depicted in FIG. 5A, having a timestamp and reserved bits.
FIG. 6 is a mapping of the header fields within the bus packet according to the IEEE 1394 configuration as exemplified in FIG. 5A.
FIG. 7 is a mapping of the fields within the CIP header according to the IEEE 1394 configuration as exemplified in FIG. 5B.
Although the IEEE 1394 network provided a number of benefits it has not been widely adopted, with the overwhelming bulk of the market remaining tied to IP-networking. In addition, the most popular middle and application layers are those built for use on IP-networks and not IEEE 1394 networks, such as UPnP (Universal Plug and Play) and DLNA (Digital Living Network Alliance).
Accordingly, a need exists for a system and method of efficiently supporting isochronous communication within an IP-based network. These needs and others are met within the present invention, which overcomes the deficiencies of previously developed packet-based digital communication standards.